/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.webhomesites.locacao.model;

import br.com.webhomesites.locacao.contracts.IItemLocacaoDAO;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Webhome
 */
public class ItemLocacaoDAO implements IItemLocacaoDAO {

    private static List<ItemLocacaoModel> listaItemLocacao = new ArrayList<>();

    @Override
    public void inserirItemLocacao(ItemLocacaoModel itemLocacaoModel) {
        listaItemLocacao.add(itemLocacaoModel);
    }

    @Override
    public void removerItemLocacao(ItemLocacaoModel itemLocacaoModel) {
        listaItemLocacao.remove(itemLocacaoModel);
    }

    @Override
    public void atualizarItemLocacao(ItemLocacaoModel itemLocacaoModel) {
        //throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public List<ItemLocacaoModel> selecionarTodosItens(int codigoLocacao) {
        List<ItemLocacaoModel> listaItemTemp;
        List<ItemLocacaoModel> listaItens = new ArrayList<>();
        listaItemTemp = todosItens();

        for (int i = 0; i < listaItemTemp.size(); i++) {
            System.out.println("Código Locação = " + listaItemTemp.get(i).getCodigoLocacao() + " , Código Item = " + listaItemTemp.get(i).getCodigoItem());
            if (listaItemTemp.get(i).getCodigoLocacao() == codigoLocacao) {
                listaItens.add(listaItemTemp.get(i));
                System.out.println("Locação Atual = " + listaItemTemp.get(i).getCodigoLocacao());
            }
        }

        return listaItens;
    }

    @Override
    public int getMaximoCodigo(int codigoLocacao) {
        int codigo = 0;

        List<ItemLocacaoModel> listaItemTemp;

        listaItemTemp = selecionarTodosItens(codigoLocacao);

        if (listaItemTemp.isEmpty()) {
            return 0;
        } else {
            codigo = listaItemTemp.get(0).getCodigoItem();
            for (int i = 0; i < listaItemTemp.size(); i++) {                
                if (listaItemTemp.get(i).getCodigoItem() > codigo) {
                    codigo = listaItemTemp.get(i).getCodigoItem();
                }
            }
            return codigo;
        }
    }

    private List<ItemLocacaoModel> todosItens() {
        return listaItemLocacao;
    }
}
